package com.xiaoshuidi.cloud.module.finance.dal.dataobject.finance;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xiaoshuidi.cloud.framework.tenant.core.db.TenantBaseDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDateTime;

@TableName(value = "finance_account_journal", autoResultMap = true)
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class FinanceAccountJournalDO extends TenantBaseDO {
    @TableId
    private Long id;
    private Integer accountId;
    private String subject;
    /**
     * 交易金额
     **/
    private java.math.BigDecimal amount;
    /**
     * 0收入1支出
     **/
    private Integer direction;
    /**
     * 消费前余额
     **/
    private java.math.BigDecimal beginningBalance;
    /**
     * 消费后余额
     **/
    private java.math.BigDecimal endingBalance;
    /**
     * 交易信息
     **/
    private String tradeData;
    /**
     * 交易类型(线下充值/线上充值/扣费)
     **/
    private String tradeType;
    /**
     * 交易时间
     **/
    private LocalDateTime tradeTime;
    /**
     * 银行账号
     */
    private String tradeAccountNo;
    /**
     * 银行
     */
    private String tradeBank;
    private String operator;
    private String remark;
    private String attachment;
    private String status;

    /**
     * 工作流id
     */
    @Schema(description = "工作流id")
    private String processInstanceId;
}
